unit Unit1;

interface
 
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Nevrona.Rave.RpDefine, Nevrona.Rave.RpRave, StdCtrls, Nevrona.Rave.RVClass,Nevrona.Rave.RVProj,Nevrona.Rave.RVCsStd, Nevrona.Rave.RpBase, Nevrona.Rave.RpFiler, Nevrona.Rave.RpSystem, Nevrona.Rave.RpRender, Nevrona.Rave.RpRenderCanvas, Nevrona.Rave.RpCon,
  Nevrona.Rave.RpConDS, Borland.Vcl.Db, Borland.Vcl.DBTables,
  System.ComponentModel, Nevrona.Rave.RpRenderHTML, Nevrona.Rave.RvCsRpt,
  Nevrona.Rave.RpRenderPDF, Borland.Vcl.Grids, Borland.Vcl.DBGrids;
type
  TForm1 = class(TForm)
    Button1: TButton;
    Table1: TTable;
    RvProject1: TRvProject;
    RvDataSetConnection1: TRvDataSetConnection;
    RvSystem1: TRvSystem;
    RvRenderHTML1: TRvRenderHTML;
    RvNDRWriter1: TRvNDRWriter;
    RvRenderPDF1: TRvRenderPDF;
    Button2: TButton;
    Button3: TButton;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    procedure Button3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);

    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.nfm}

procedure TForm1.Button1Click(Sender: TObject);
var
    MyPage: TRavePage;
    MyText: TRaveText;
    MyBand: TRaveBand;
    MyRegion: TRaveRegion;
begin
    Table1.Active := true;
    RvProject1.Engine := RvSystem1;
    RvSystem1.SystemSetups := RvSystem1.SystemSetups - [ssAllowSetup];
    RvProject1.Open;
    With RvProject1.ProjMan do begin
        MyPage := FindRaveComponent('Report2.MainPage',nil) as TRavePage;
        MyText := FindRaveComponent('Text1',MyPage) as  TRaveText;
        MyText.Color := clRed; //ɫ
        MyText.Text := 'ѧ'; //б

        MyText := FindRaveComponent('Text2',MyPage) as  TRaveText;
        MyText.Color := clRed; //ɫ
        MyText.Text := ''; //б

        MyText := FindRaveComponent('Text3',MyPage) as  TRaveText;
        MyText.Color := clRed; //ɫ
        MyText.Text := 'ƽʱɼ'; //б

        MyText := FindRaveComponent('Text4',MyPage) as  TRaveText;
        MyText.Color := clRed; //ɫ
        MyText.Text := 'ڿɼ'; //б

        MyText := FindRaveComponent('Text5',MyPage) as  TRaveText;
        MyText.Color := clRed; //ɫ
        MyText.Text := 'ɼ'; //б

        MyText := FindRaveComponent('Text6',MyPage) as  TRaveText;
        MyText.Color := clRed; //ɫ
        MyText.Text := '༶'; //б

        MyText := FindRaveComponent('TitleText',MyPage) as  TRaveText;

        MyText.Text:='ѧɼϢ';
        MyText.Font.Size := 24;

        MyRegion := FindRaveComponent('DataView1Region',MyPage) as TRaveRegion;
        MyBand := FindRaveComponent('DataView1Band',MyRegion) as TRaveBand;
        MyText := TRaveText.Create(MyBand);
        MyText.Parent := MyPage;
        MyText.Text:= ' 200520061ѧ';

        MyText.Color := clGreen; //ɫ
        MyText.Font.Size := 12;
        MyText.Top :=1.5;
        MyText.Left :=4.6;
        AddComponent(MyText);  //б             
    end;
    RvProject1.ExecuteReport('Report2');
    RvProject1.Close;
 end;  
procedure TForm1.Button2Click(Sender: TObject);
var NDRStream:TMemoryStream;
begin
    rvproject1.Engine:=RvNDRWriter1;
    rvproject1.Open;
    rvproject1.SelectReport('report2',true);        //ѡҪӡı
    RvNDRWriter1.FileName:='tmp.ndr';
    RvNDRWriter1.StreamMode:=smfile;    //smMemory;   //ļ
    try
        NDRStream:=TMemoryStream.Create;              //ڴ
        rvproject1.Execute;                           //
        NDRStream.LoadFromFile('tmp.ndr');         //ݵڴ
        RvRenderHTML1.OutputFileName:='C:\test.html';    //ŵļ
        RvRenderHTML1.Render(NDRStream);              //ڴHTMLʽ
        ShowMessage('HTMLļɹ!');
    except
        ShowMessage('HTMLļ!');
    end;
 end;


procedure TForm1.Button3Click(Sender: TObject);
var NDRStream:TMemoryStream;
begin
    rvproject1.Engine:=RvNDRWriter1;
    rvproject1.Open;
    rvproject1.SelectReport('report2',true);        //ѡҪӡı
    RvNDRWriter1.FileName:='tmp.ndr';
    RvNDRWriter1.StreamMode:=smfile;               //ļ
    try
        NDRStream:=TMemoryStream.Create;              //ڴ
        rvproject1.Execute;                           //
        NDRStream.LoadFromFile('tmp.ndr');         //ݵڴ
        RvRenderPDF1.OutputFileName:='C:\test.pdf';    //ŵļ
        RvRenderPDF1.Render(NDRStream);              //ڴPDFʽ
        ShowMessage('PDFļɹ!');
    except
        ShowMessage('PDFļ!');
    end;
 end;   
end.